<script>
	/**
	 * 1.初始化系统设置
	 * 2.初始化应用设置（第三方平台服务，登陆，分享，支付，推送，语音，实人认证，一键生成ios通用链接）
	 */
	// import './env.js';
	import Settings from './settings';
	import Platform from './utils/platform/index.js'
	import Vue from 'vue';
	export default {
		//
		globalData: {
			text: 'text',
			statusBar: 'statusBar',
			customBar: 'customBar',
		},
		//
		// onLaunch() {
		// 	console.log('INFO 初始化App.vue');
		// 	//初始化平台
		// 	this.initPlatform();
		// 	//初始化系统
		// 	this.initSystem();
		// 	// //初始化导航栏
		// 	// this.initCustomBar();
		// 	//小程序主动更新
		// 	// //#ifdef MP-WEIXIN
		// 	// this.updateManager();
		// 	// //#endif
		// },
		onLaunch: function() {
			console.log('【初始化App.vue】');
			//初始化平台
			this.initPlatform();
			//初始化系统
			this.initSystem();
			//初始化应用
			this.initApp();
			//小程序检查升级
			// await this.updateMp();
		},
		onShow: function() {
			// this.$app.stat.appShow();
		},
		onHide: function() {
			// this.$app.stat.appHide();
		},
		//
		methods: {
			/**
			 * 系统通用设置
			 * https://uniapp.dcloud.io/platform
			 */
			initPlatform: function() {
				let platform = '';
				// #ifdef APP-PLUS
				platform = 'APP'
				// #endif
				// #ifdef APP-PLUS-NVUE
				platform = 'APP'
				// #endif
				// #ifdef H5
				platform = 'H5'
				var ua = window.navigator.userAgent.toLowerCase()
				if (ua.match(/micromessenger/) == 'micromessenger') {
					platform = 'H5-WEIXIN';
				}
				// #endif
				// #ifdef MP-WEIXIN
				platform = 'MP-WEIXIN'
				// #endif
				// #ifdef MP-ALIPAY
				platform = 'MP-ALIPAY'
				// #endif
				// #ifdef MP-BAIDU
				platform = 'MP-BAIDU'
				// #endif
				// #ifdef MP-TOUTIAO
				platform = 'MP-TOUTIAO'
				// #endif
				// #ifdef MP-QQ
				platform = 'MP-QQ'
				// #endif
				// #ifdef MP-360
				platform = 'MP-360'
				// #endif
				Settings.platform = platform;
			},
			/**
			 * 初始化系统
			 */
			initSystem: async function() {

				// // 获取系统数据
				let SystemInfo = await this.$app.updateCustomBar();
				Settings.statusBarHeight = SystemInfo.statusBarHeight;
        Settings.customBarHeight = SystemInfo.customBarHeight;
 
				// // 保存运行环境
				// this.$config.brand = SystemInfo.info.deviceBrand;
				// this.$config.device = SystemInfo.info.deviceType;
				// this.$config.os = SystemInfo.info.osName;
				// this.$config.statusBarHeight = SystemInfo.statusBarHeight;
				// this.$config.customBarHeight = SystemInfo.customBarHeight;
				// this.$config.name = this.$env.name;
				// this.$config.description = this.$env.description;
				// appId: getAppId(),
				// api: getApi(),
				// imageDirectory: getImageDirectory(),

				// this.$config.api = process.uniEnv.api;
				// Object.defineProperty(Settings, 'api', process.uniEnv.api);
				// Object.defineProperty(Settings, 'imageDirectory', process.uniEnv.imageDirectory);
				// Object.defineProperty(Settings, 'appId', process.uniEnv.appId);
				// Settings.api = process.uniEnv.api;
				// Settings.imageDirectory = process.uniEnv.imageDirectory;
				// Settings.appId = process.uniEnv.appId;

				// 更新vuex中的导航栏信息
				// this.$app.vuex('vuex_status_bar_height', SystemInfo.statusBarHeight)
				// this.$app.vuex('vuex_custom_bar_height', SystemInfo.customBarHeight)
				uni.getSystemInfo({
					success: function(e) {
						console.log(e,'app e')
						//此变量在微信小程序环境为固定 25px，在 App 里为手机实际状态栏高度。
						Vue.prototype.StatusBar = e.statusBarHeight;
						//APP自定义状态栏
						//#ifdef APP-PLUS
						// Vue.prototype.CustomBar = e.statusBarHeight + (e.osName == 'android' ? 50 : 50);
						Vue.prototype.CustomBar = e.statusBarHeight + 50;
						//#endif
						// //H5自定义状态栏
						// //#ifdef H5
						// Vue.prototype.CustomBar = e.statusBarHeight + (e.osName == 'android' ? 50 : 45);
						// console.log('【H5 custombar】:', Vue.prototype.CustomBar);
						// //#endif
						// //微信小程序自定义状态栏
						//#ifdef MP-WEIXIN
						let custom = uni.getMenuButtonBoundingClientRect();
						Vue.prototype.Custom = custom;
						Vue.prototype.CustomBar = custom.bottom + custom.top - e.statusBarHeight;
						console.log('【MP-WEIXIN custombar】:', Vue.prototype.CustomBar);
						//#endif
					}
				});
				//挂载全局settings
				console.log('【系统变量（settings）初始化完成】: ', Settings);
				Vue.prototype.$settings = Settings;
			},
			/**
			 * 初始化 App
			 */
			initApp: function() {
				Platform.init(Settings);
			},

			/**
			 * 升级小程序
			 */
			updateMp: function() {
				// #ifdef APP-MP
				const updateManager = uni.getUpdateManager();
				updateManager && updateManager.onCheckForUpdate((res) => {
					if (res.hasUpdate) {
						updateManager.onUpdateReady(() => {
							uni.showModal({
								title: '更新提示',
								content: '新版本已经准备就绪，是否需要重新启动应用？',
								success: (res) => {
									if (res.confirm) {
										uni.clearStorageSync() // 更新完成后刷新storage的数据
										updateManager.applyUpdate()
									}
								}
							})
						})
						updateManager.onUpdateFailed(() => {
							uni.showModal({
								title: '已有新版本上线',
								content: '小程序自动更新失败，请删除该小程序后重新搜索打开哟~~~',
								showCancel: false
							})
						})
					} else {
						//没有更新
					}
				})
				// #endif
			},
			// //自定义初始化导航栏高度
			// initCustomBar() {
			// 	uni.getSystemInfo({
			// 		success: function(e) {
			// 			//此变量在微信小程序环境为固定 25px，在 App 里为手机实际状态栏高度。
			// 			Vue.prototype.StatusBar = e.statusBarHeight;
			// 			//APP自定义状态栏
			// 			//#ifdef APP-PLUS
			// 			Vue.prototype.CustomBar = e.statusBarHeight + (e.osName == 'android' ? 50 : 50);
			// 			console.log('【APP-PLUS custombar】:', Vue.prototype.CustomBar);
			// 			//#endif
			// 			//H5自定义状态栏
			// 			//#ifdef H5
			// 			Vue.prototype.CustomBar = e.statusBarHeight + (e.osName == 'android' ? 50 : 45);
			// 			console.log('【H5 custombar】:', Vue.prototype.CustomBar);
			// 			//#endif
			// 			//微信小程序自定义状态栏
			// 			//#ifdef MP-WEIXIN
			// 			let custom = uni.getMenuButtonBoundingClientRect();
			// 			Vue.prototype.Custom = custom;
			// 			Vue.prototype.CustomBar = custom.bottom + custom.top - e.statusBarHeight;
			// 			console.log('【MP-WEIXIN custombar】:', Vue.prototype.CustomBar);
			// 			//#endif
			// 		}
			// 	});
			// },
			// /**
			//  * 小程序主动更新
			//  */
			// updateManager() {
			// 	const updateManager = uni.getUpdateManager();
			// 	updateManager.onCheckForUpdate(res => {
			// 		// 请求完新版本信息的回调
			// 		// console.log(res.hasUpdate)
			// 	});
			// 	updateManager.onUpdateReady(() => {
			// 		uni.showModal({
			// 			title: '更新提示',
			// 			content: '新版本已经准备好，即将重启应用',
			// 			showCancel: false,
			// 			success(res) {
			// 				if (res.confirm) {
			// 					// 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
			// 					updateManager.applyUpdate();
			// 				}
			// 			}
			// 		});
			// 	});
			// 	updateManager.onUpdateFailed(() => {
			// 		// 新的版本下载失败
			// 		uni.showModal({
			// 			title: '更新提示',
			// 			content: '新版本下载失败',
			// 			showCancel: false
			// 		});
			// 	});
			// },
		}
	};
</script>

<style lang="scss">
	//自定义css
	@import '@/common/scss/app.scss';
	//阿里图片库
	
</style>